﻿using System.Threading.Tasks;
using Abp.Application.Services;
using Abp.Application.Services.Dto;
using JPW.OnlinePaperSubmissionSystem.Auditing.Dto;
using JPW.OnlinePaperSubmissionSystem.Dto;
using JPW.OnlinePaperSubmissionSystem.Project.Dto;
using Kendo.DynamicLinq;
namespace JPW.OnlinePaperSubmissionSystem.Project
{
    public interface IAnnouncementAppService : IApplicationService
    {
        DataSourceResult KendoGetAnnouncements(DataSourceRequest input);

        ListResultOutput<AnnouncementListDto> GetAnnouncements(GetAnnouncementInput input);

        Task<ListResultOutput<AnnouncementListDto>> GetAnnouncementsAsync();

        Task DeleteAnnouncement(IdInput input);

        Task CreateOrUpdateAnnouncement(CreateOrUpdateAnnouncementInput input);

        Task CreateAnnouncementAsync(CreateOrUpdateAnnouncementInput input);

        Task UpdateAnnouncementAsync(CreateOrUpdateAnnouncementInput input);

        Task<GetAnnouncementForEditOutput> GetAnnouncementForEdit(NullableIdInput input);

        Task SendAnnouncement(SendAnnouncementInput input);
    }
}